const log4js = require("log4js")
const path = require("path")

log4js.configure({
    pm2: true, // 是否使用pm2管理进程
    pm2InstanceVar: "INSTANCE_ID", // pm2的实例变量名
    appenders: { // 定义日志输出源
        zip: {
            type: "file", // 日志类型为按日期分割的文件
            filename: path.resolve(__dirname, "../logs/zip.log"), // 生成文件名
            layout: { // 定义日志格式
                type: "pattern", // 格式类型为模式
                pattern: "%d{yyyy-MM-dd hh:mm:ss.SSS} [%p] %m", // 模式为日期+级别+消息
                charset: "utf-8", // 字符集为utf-8
            },
        },
        word: {
            type: "file", // 日志类型为按日期分割的文件
            filename: path.resolve(__dirname, "../logs/word.log"), // 生成文件名
            layout: { // 定义日志格式
                type: "pattern", // 格式类型为模式
                pattern: "%d{yyyy-MM-dd hh:mm:ss.SSS} [%p] %m", // 模式为日期+级别+消息
                charset: "utf-8", // 字符集为utf-8
            },
        },
        get_word:{
            type: "file", // 日志类型为按日期分割的文件
            filename: path.resolve(__dirname, "../logs/get_word.log"), // 生成文件名
            layout: { // 定义日志格式
                type: "pattern", // 格式类型为模式
                pattern: "%d{yyyy-MM-dd hh:mm:ss.SSS} [%p] %m", // 模式为日期+级别+消息
                charset: "utf-8", // 字符集为utf-8
            },
        },
        stdout: { // 定义标准输出源
            type: "stdout", // 日志类型为标准输出
        },
    },
    categories: { // 定义日志分类
        default: { appenders: ["stdout"], level: "info" }, // 默认分类使用标准输出源，级别为info
        zip: { appenders: ["zip"], level: "all" }, 
        word: { appenders: ["word"], level: "all" }, 
        get_word: { appenders: ["get_word"], level: "all" }, 
    },
})


module.exports = log4js